# def fn(必填参数,位置不定长参数,默认参数,关键字不定长参数)
# 通过实现案例1来复习函数
"""
用户登录
需求：
程序启动，提示用户登录或者注册
选择注册->要求输入用户名和密码->返回注册提示信息
选择登录->要求输入用户和密码->判断是否登录成功
分析
1.根据录入的1,2 判断用户为登录和注册
2.注册: 将用户录入的用户名和密码以下面的格式写入到文件中
 用户名1|密码1
 用户名2|密码2
3.登录: 读取出每一行并且通过|分割出来用户名和密码与用户录入的用户名和密码进行比对
"""
code = input('[1注册2登录]请输入:')  # 注意input只能接受字符串类型

if code == '1':  # 输入的是字符串
    """
        # 实现注册功能
        username = input('请输入用户名:')
        password = input('请输入密码:')  # 接受用户输入
        # 以固定格式写入文件中
        f = open('file', mode='a', encoding='utf8')  # 打开一个文件,追加写
        content = f'{username}|{password}\n'
        f.write(content)  # 格式化写入
        f.close()  # 关闭文件
        print('注册成功')
    """


    # 封装函数实现
    def login(username, password):
        f = open('file', mode='a', encoding='utf8')  # 打开一个文件,追加写
        content = f'{username}|{password}\n'
        f.write(content)  # 格式化写入
        f.close()  # 关闭文件
        return '注册成功'

if code == '2':  # 先读取出所有的注册信息,然后进行遍历,看用户的输入是否一致
    # 接收用户输入
    username = input('请输入用户名:')
    password = input('请输入密码:')
    f = open('file', mode='r', encoding='utf8')
    content = f.readlines()  # 一行行读然后返回
    f.close()
    # 这里一行行读取出来的content是包含了'|'和'\n'的,需要去除之后与用户的输入进行核对
    # 进行遍历
    for info in content:
        user_info = info.strip('\n').split('|')
        if user_info[0] == username and user_info[1] == password:
            print('登录成功')
            break
    else:
        print('用户名或密码错误')
#
# print(login('汪总', 123456))  # 调用函数返回值
